require(["config"], function() {
	require(["jquery", "header"], function($) {
		function Register() {
			this.genValidateCode();
			this.addListener();
			this.confirm = true;//用作验证输入是否合法
		}

		$.extend(Register.prototype, {
			//表单校验
			inputConfirm: function(){
				//用户名验证
				var reg = /^1(3|4|5|7|8)\d{9}$/;
				if(!reg.test($(".username").val())){
					this.confirm = false;
					$(".phone").removeClass("hidden");
				}else{
					$(".phone").addClass("hidden");
				}
				if ($(".password").val() != $(".pass_con").val()) {
					this.confirm = false;
					$(".password-comment").removeClass("hidden");
				}else{
					$(".password-comment").addClass("hidden");
				}
				
				
			},
			//验证码
			genValidateCode:function(){
				$.ajax("http://route.showapi.com/932-2?showapi_appid=29550&showapi_sign=fe01daee5a6a400c91e9f8523813fc61&length=4")
				.done(function(data){
	
					$("#validate_code").attr("src",data.showapi_res_body.image);
					// 保存验证码关联标识：将关联标识缓存到DOM元素对象中，将在校验有效性时使用
					$("#validate_code")[0].sid = data.showapi_res_body.sid;
					
				});
			},
			//事件监听
			addListener:function(){
				$(".btn-register button").click($.proxy(this.registerHandler,this));				
				// 点击图片，重新生成验证码

				$("#validate_code").click(()=>{
					this.genValidateCode();
					$("#input_code").value = "";
				});
				//验证码输入框失去焦点事件
				$("#input_code").blur(function(){
					var _checkcode = $(this).val(),
						_sid = $("#validate_code")[0].sid ,
						_url = `http://route.showapi.com/932-1?showapi_appid=29550&showapi_sign=fe01daee5a6a400c91e9f8523813fc61&checkcode=${_checkcode}&sid=${_sid}`;
					
					$.ajax(_url).done(function(data){
						console.log(data);
						if (data.showapi_res_body.valid) {
							$("#code_info").text();
						} else {
							$("#code_info").text("验证码错误");
						}
					});
				});
			},
			registerHandler: function(){
				this.inputConfirm();	
				this.genValidateCode();
//				console.log(this.confirm);
				
				if(this.confirm == false){//验证不通过
					return false;
				}
					
				var data = $(".reg-form").serialize();
				var url = "http://localhost/haituncun/api/register.php";
				$.post(url, data, this.regSuccessHandler, "json");
				return false;
			},
			//请求成功处理的函数
			regSuccessHandler:function(data){
				console.log(data);
				if (data.res_code === 1) { // 注册成功
					location = "/html/login.html";
				} else { // 注册失败
					$(".reg-error").removeClass("hidden").text("注册失败：可能您的手机号已被注册，请更换其他手机号");
				}
			}
		});
		new Register();
	});
});